<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>eRPC API Reference: erpc::Codec Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">eRPC API Reference
   &#160;<span id="projectnumber">Rev. 1.7.4</span>
   </div>
   <div id="projectbrief">NXP Semiconductors</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>API&#160;Reference</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classerpc_1_1_codec.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classerpc_1_1_codec-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">erpc::Codec Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__infra.html">Infrastructure</a> &raquo; <a class="el" href="group__infra__codec.html">Serialization</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract serialization encoder/decoder interface.  
 <a href="classerpc_1_1_codec.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="erpc__codec_8h_source.html">erpc_codec.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Inheritance diagram for erpc::Codec:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classerpc_1_1_codec__inherit__graph.svg" width="136" height="112"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Collaboration diagram for erpc::Codec:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="classerpc_1_1_codec__coll__graph.svg" width="318" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a39f0596a2957fb80bf3b5de6a4420f26"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a39f0596a2957fb80bf3b5de6a4420f26">Codec</a> (void)</td></tr>
<tr class="memdesc:a39f0596a2957fb80bf3b5de6a4420f26"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a39f0596a2957fb80bf3b5de6a4420f26">More...</a><br /></td></tr>
<tr class="separator:a39f0596a2957fb80bf3b5de6a4420f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adab0e09abe91747902ac3d4622682082"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adab0e09abe91747902ac3d4622682082"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#adab0e09abe91747902ac3d4622682082">~Codec</a> (void)</td></tr>
<tr class="memdesc:adab0e09abe91747902ac3d4622682082"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classerpc_1_1_codec.html" title="Abstract serialization encoder/decoder interface. ">Codec</a> destructor. <br /></td></tr>
<tr class="separator:adab0e09abe91747902ac3d4622682082"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ffdc810b2381805a0ab4e92201f72d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a1ffdc810b2381805a0ab4e92201f72d3">getBuffer</a> (void)</td></tr>
<tr class="memdesc:a1ffdc810b2381805a0ab4e92201f72d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return message buffer used for read and write data.  <a href="#a1ffdc810b2381805a0ab4e92201f72d3">More...</a><br /></td></tr>
<tr class="separator:a1ffdc810b2381805a0ab4e92201f72d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace7d311abca68729346074d603879c9f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ace7d311abca68729346074d603879c9f">setBuffer</a> (<a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> &amp;buf)</td></tr>
<tr class="memdesc:ace7d311abca68729346074d603879c9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for set message buffer used for read and write data.  <a href="#ace7d311abca68729346074d603879c9f">More...</a><br /></td></tr>
<tr class="separator:ace7d311abca68729346074d603879c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee5a1d8930812d4256201bde6390bf3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ee5a1d8930812d4256201bde6390bf3"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a5ee5a1d8930812d4256201bde6390bf3">reset</a> (void)</td></tr>
<tr class="memdesc:a5ee5a1d8930812d4256201bde6390bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the codec to initial state. <br /></td></tr>
<tr class="separator:a5ee5a1d8930812d4256201bde6390bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac329078b8a41270ef630ec44cb408860"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac329078b8a41270ef630ec44cb408860"></a>
<a class="el" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>getStatus</b> (void)</td></tr>
<tr class="separator:ac329078b8a41270ef630ec44cb408860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86556f8f7f972a796766bcaafae3f349"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86556f8f7f972a796766bcaafae3f349"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>updateStatus</b> (<a class="el" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> status)</td></tr>
<tr class="separator:a86556f8f7f972a796766bcaafae3f349"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Encoding</div></td></tr>
<tr class="memitem:ade36a3e253eb62fb6533aef091625047"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ade36a3e253eb62fb6533aef091625047">startWriteMessage</a> (<a class="el" href="erpc__codec_8h.html#a7116f64fb1351d72417155cfed485478">message_type_t</a> type, uint32_t service, uint32_t request, uint32_t sequence)=0</td></tr>
<tr class="memdesc:ade36a3e253eb62fb6533aef091625047"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write header of message.  <a href="#ade36a3e253eb62fb6533aef091625047">More...</a><br /></td></tr>
<tr class="separator:ade36a3e253eb62fb6533aef091625047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca48e28afe7669b796418e1d79441a2b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#aca48e28afe7669b796418e1d79441a2b">write</a> (bool value)=0</td></tr>
<tr class="memdesc:aca48e28afe7669b796418e1d79441a2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write boolean value.  <a href="#aca48e28afe7669b796418e1d79441a2b">More...</a><br /></td></tr>
<tr class="separator:aca48e28afe7669b796418e1d79441a2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadb46838695ad8c58c98a50da1ac871a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#aadb46838695ad8c58c98a50da1ac871a">write</a> (int8_t value)=0</td></tr>
<tr class="memdesc:aadb46838695ad8c58c98a50da1ac871a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write int8_t value.  <a href="#aadb46838695ad8c58c98a50da1ac871a">More...</a><br /></td></tr>
<tr class="separator:aadb46838695ad8c58c98a50da1ac871a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93536b98afea4429adfd596dc9bc2857"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a93536b98afea4429adfd596dc9bc2857">write</a> (int16_t value)=0</td></tr>
<tr class="memdesc:a93536b98afea4429adfd596dc9bc2857"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write int16_t value.  <a href="#a93536b98afea4429adfd596dc9bc2857">More...</a><br /></td></tr>
<tr class="separator:a93536b98afea4429adfd596dc9bc2857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854c6fa62169cecf2c65f5cec259abdd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a854c6fa62169cecf2c65f5cec259abdd">write</a> (int32_t value)=0</td></tr>
<tr class="memdesc:a854c6fa62169cecf2c65f5cec259abdd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write int32_t value.  <a href="#a854c6fa62169cecf2c65f5cec259abdd">More...</a><br /></td></tr>
<tr class="separator:a854c6fa62169cecf2c65f5cec259abdd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4eb36338bbee7f22b59a6f37893466"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a1d4eb36338bbee7f22b59a6f37893466">write</a> (int64_t value)=0</td></tr>
<tr class="memdesc:a1d4eb36338bbee7f22b59a6f37893466"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write int64_t value.  <a href="#a1d4eb36338bbee7f22b59a6f37893466">More...</a><br /></td></tr>
<tr class="separator:a1d4eb36338bbee7f22b59a6f37893466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac88c0192a348091445a5cf03f075899f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ac88c0192a348091445a5cf03f075899f">write</a> (uint8_t value)=0</td></tr>
<tr class="memdesc:ac88c0192a348091445a5cf03f075899f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write uint8_t value.  <a href="#ac88c0192a348091445a5cf03f075899f">More...</a><br /></td></tr>
<tr class="separator:ac88c0192a348091445a5cf03f075899f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8532463feddadd334b38ea672d05aabc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a8532463feddadd334b38ea672d05aabc">write</a> (uint16_t value)=0</td></tr>
<tr class="memdesc:a8532463feddadd334b38ea672d05aabc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write uint16_t value.  <a href="#a8532463feddadd334b38ea672d05aabc">More...</a><br /></td></tr>
<tr class="separator:a8532463feddadd334b38ea672d05aabc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d6113a04dabb244f7f3008139a67739"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a0d6113a04dabb244f7f3008139a67739">write</a> (uint32_t value)=0</td></tr>
<tr class="memdesc:a0d6113a04dabb244f7f3008139a67739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write uint32_t value.  <a href="#a0d6113a04dabb244f7f3008139a67739">More...</a><br /></td></tr>
<tr class="separator:a0d6113a04dabb244f7f3008139a67739"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ede46229a70bdff990ec744bbe5cc04"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a2ede46229a70bdff990ec744bbe5cc04">write</a> (uint64_t value)=0</td></tr>
<tr class="memdesc:a2ede46229a70bdff990ec744bbe5cc04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write uint64_t value.  <a href="#a2ede46229a70bdff990ec744bbe5cc04">More...</a><br /></td></tr>
<tr class="separator:a2ede46229a70bdff990ec744bbe5cc04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0385422a6301c71bc3eed2de97a6f60"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ab0385422a6301c71bc3eed2de97a6f60">write</a> (float value)=0</td></tr>
<tr class="memdesc:ab0385422a6301c71bc3eed2de97a6f60"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write float value.  <a href="#ab0385422a6301c71bc3eed2de97a6f60">More...</a><br /></td></tr>
<tr class="separator:ab0385422a6301c71bc3eed2de97a6f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1be8433cb66813f1a20ec3897f11319b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a1be8433cb66813f1a20ec3897f11319b">write</a> (double value)=0</td></tr>
<tr class="memdesc:a1be8433cb66813f1a20ec3897f11319b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write double value.  <a href="#a1be8433cb66813f1a20ec3897f11319b">More...</a><br /></td></tr>
<tr class="separator:a1be8433cb66813f1a20ec3897f11319b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a6c5f99e5099c7bb96c293a156c80f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ae9a6c5f99e5099c7bb96c293a156c80f">writePtr</a> (uintptr_t value)=0</td></tr>
<tr class="memdesc:ae9a6c5f99e5099c7bb96c293a156c80f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write uintptr value.  <a href="#ae9a6c5f99e5099c7bb96c293a156c80f">More...</a><br /></td></tr>
<tr class="separator:ae9a6c5f99e5099c7bb96c293a156c80f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1285f577d96c982df48abf37c177bedd"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a1285f577d96c982df48abf37c177bedd">writeString</a> (uint32_t length, const char *value)=0</td></tr>
<tr class="memdesc:a1285f577d96c982df48abf37c177bedd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write string value.  <a href="#a1285f577d96c982df48abf37c177bedd">More...</a><br /></td></tr>
<tr class="separator:a1285f577d96c982df48abf37c177bedd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1a66a201128941dc332e17d2490c2f8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ab1a66a201128941dc332e17d2490c2f8">writeBinary</a> (uint32_t length, const uint8_t *value)=0</td></tr>
<tr class="memdesc:ab1a66a201128941dc332e17d2490c2f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for write binary value.  <a href="#ab1a66a201128941dc332e17d2490c2f8">More...</a><br /></td></tr>
<tr class="separator:ab1a66a201128941dc332e17d2490c2f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2b752ae654eecf49a388dca8d341f7d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#aa2b752ae654eecf49a388dca8d341f7d">startWriteList</a> (uint32_t length)=0</td></tr>
<tr class="memdesc:aa2b752ae654eecf49a388dca8d341f7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for start write list.  <a href="#aa2b752ae654eecf49a388dca8d341f7d">More...</a><br /></td></tr>
<tr class="separator:aa2b752ae654eecf49a388dca8d341f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87fdbe883363642751bae1d6d53520c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a87fdbe883363642751bae1d6d53520c8">startWriteUnion</a> (int32_t discriminator)=0</td></tr>
<tr class="memdesc:a87fdbe883363642751bae1d6d53520c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for start write union.  <a href="#a87fdbe883363642751bae1d6d53520c8">More...</a><br /></td></tr>
<tr class="separator:a87fdbe883363642751bae1d6d53520c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41efd3899943f2168f7f58be03045679"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a41efd3899943f2168f7f58be03045679">writeNullFlag</a> (bool isNull)=0</td></tr>
<tr class="memdesc:a41efd3899943f2168f7f58be03045679"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a flag indicating whether the next value is null.  <a href="#a41efd3899943f2168f7f58be03045679">More...</a><br /></td></tr>
<tr class="separator:a41efd3899943f2168f7f58be03045679"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16711856846fa8bf4b8b70e69249b98e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a16711856846fa8bf4b8b70e69249b98e">writeCallback</a> (arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr callback)=0</td></tr>
<tr class="memdesc:a16711856846fa8bf4b8b70e69249b98e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an order ID of callback function.  <a href="#a16711856846fa8bf4b8b70e69249b98e">More...</a><br /></td></tr>
<tr class="separator:a16711856846fa8bf4b8b70e69249b98e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8a168512fd2fb26797d49c3b41732a5"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ac8a168512fd2fb26797d49c3b41732a5">writeCallback</a> (funPtr callback1, funPtr callback2)=0</td></tr>
<tr class="memdesc:ac8a168512fd2fb26797d49c3b41732a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes an order ID of callback function.  <a href="#ac8a168512fd2fb26797d49c3b41732a5">More...</a><br /></td></tr>
<tr class="separator:ac8a168512fd2fb26797d49c3b41732a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Decoding</h2></td></tr>
<tr class="memitem:a003c4d8420239b9a347b46554ebeb903"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a003c4d8420239b9a347b46554ebeb903">m_buffer</a></td></tr>
<tr class="separator:a003c4d8420239b9a347b46554ebeb903"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9fe5af5136be642e05a9e7335af8ff7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classerpc_1_1_message_buffer_1_1_cursor.html">MessageBuffer::Cursor</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ad9fe5af5136be642e05a9e7335af8ff7">m_cursor</a></td></tr>
<tr class="separator:ad9fe5af5136be642e05a9e7335af8ff7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1f493b99584ed6e75a0e4ea06a1d14a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#aa1f493b99584ed6e75a0e4ea06a1d14a">m_status</a></td></tr>
<tr class="separator:aa1f493b99584ed6e75a0e4ea06a1d14a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45c92dc20df6e8ac78336426a076aff3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a45c92dc20df6e8ac78336426a076aff3">startReadMessage</a> (<a class="el" href="erpc__codec_8h.html#a7116f64fb1351d72417155cfed485478">message_type_t</a> *type, uint32_t *service, uint32_t *request, uint32_t *sequence)=0</td></tr>
<tr class="memdesc:a45c92dc20df6e8ac78336426a076aff3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read header of message.  <a href="#a45c92dc20df6e8ac78336426a076aff3">More...</a><br /></td></tr>
<tr class="separator:a45c92dc20df6e8ac78336426a076aff3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ecc6e3071f968c5d6a981d0547bfea9"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a7ecc6e3071f968c5d6a981d0547bfea9">read</a> (bool *value)=0</td></tr>
<tr class="memdesc:a7ecc6e3071f968c5d6a981d0547bfea9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read boolean value.  <a href="#a7ecc6e3071f968c5d6a981d0547bfea9">More...</a><br /></td></tr>
<tr class="separator:a7ecc6e3071f968c5d6a981d0547bfea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53c2bbb94896adba25d746d689986e70"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a53c2bbb94896adba25d746d689986e70">read</a> (int8_t *value)=0</td></tr>
<tr class="memdesc:a53c2bbb94896adba25d746d689986e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read int8_t value.  <a href="#a53c2bbb94896adba25d746d689986e70">More...</a><br /></td></tr>
<tr class="separator:a53c2bbb94896adba25d746d689986e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9e51e6a7cdb6fa3a68d860f19c7aca8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ae9e51e6a7cdb6fa3a68d860f19c7aca8">read</a> (int16_t *value)=0</td></tr>
<tr class="memdesc:ae9e51e6a7cdb6fa3a68d860f19c7aca8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read int16_t value.  <a href="#ae9e51e6a7cdb6fa3a68d860f19c7aca8">More...</a><br /></td></tr>
<tr class="separator:ae9e51e6a7cdb6fa3a68d860f19c7aca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05017d23491278b0f59f560c57ab3d5d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a05017d23491278b0f59f560c57ab3d5d">read</a> (int32_t *value)=0</td></tr>
<tr class="memdesc:a05017d23491278b0f59f560c57ab3d5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read int32_t value.  <a href="#a05017d23491278b0f59f560c57ab3d5d">More...</a><br /></td></tr>
<tr class="separator:a05017d23491278b0f59f560c57ab3d5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace6d2cf649c8f0b4345049b9987bdf13"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ace6d2cf649c8f0b4345049b9987bdf13">read</a> (int64_t *value)=0</td></tr>
<tr class="memdesc:ace6d2cf649c8f0b4345049b9987bdf13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read int64_t value.  <a href="#ace6d2cf649c8f0b4345049b9987bdf13">More...</a><br /></td></tr>
<tr class="separator:ace6d2cf649c8f0b4345049b9987bdf13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82cbd89666ca2d5e4b0eb3d0930fb120"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a82cbd89666ca2d5e4b0eb3d0930fb120">read</a> (uint8_t *value)=0</td></tr>
<tr class="memdesc:a82cbd89666ca2d5e4b0eb3d0930fb120"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read uint8_t value.  <a href="#a82cbd89666ca2d5e4b0eb3d0930fb120">More...</a><br /></td></tr>
<tr class="separator:a82cbd89666ca2d5e4b0eb3d0930fb120"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c1ed0465cb0f4d0f71a1ba6d7a942cf"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a7c1ed0465cb0f4d0f71a1ba6d7a942cf">read</a> (uint16_t *value)=0</td></tr>
<tr class="memdesc:a7c1ed0465cb0f4d0f71a1ba6d7a942cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read uint16_t value.  <a href="#a7c1ed0465cb0f4d0f71a1ba6d7a942cf">More...</a><br /></td></tr>
<tr class="separator:a7c1ed0465cb0f4d0f71a1ba6d7a942cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae153d322183c836574bfbd80523aecd8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ae153d322183c836574bfbd80523aecd8">read</a> (uint32_t *value)=0</td></tr>
<tr class="memdesc:ae153d322183c836574bfbd80523aecd8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read uint32_t value.  <a href="#ae153d322183c836574bfbd80523aecd8">More...</a><br /></td></tr>
<tr class="separator:ae153d322183c836574bfbd80523aecd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7bd847bd77804aaa87ccf5ecae45637"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ad7bd847bd77804aaa87ccf5ecae45637">read</a> (uint64_t *value)=0</td></tr>
<tr class="memdesc:ad7bd847bd77804aaa87ccf5ecae45637"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read uint64_t value.  <a href="#ad7bd847bd77804aaa87ccf5ecae45637">More...</a><br /></td></tr>
<tr class="separator:ad7bd847bd77804aaa87ccf5ecae45637"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0d1bcba8691cf04822d9c7f73ce88a6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ac0d1bcba8691cf04822d9c7f73ce88a6">read</a> (float *value)=0</td></tr>
<tr class="memdesc:ac0d1bcba8691cf04822d9c7f73ce88a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read float value.  <a href="#ac0d1bcba8691cf04822d9c7f73ce88a6">More...</a><br /></td></tr>
<tr class="separator:ac0d1bcba8691cf04822d9c7f73ce88a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac619e952418dfda6966099aea01eb5f2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#ac619e952418dfda6966099aea01eb5f2">read</a> (double *value)=0</td></tr>
<tr class="memdesc:ac619e952418dfda6966099aea01eb5f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read double value.  <a href="#ac619e952418dfda6966099aea01eb5f2">More...</a><br /></td></tr>
<tr class="separator:ac619e952418dfda6966099aea01eb5f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811b18e4f773c808cf5e50891882d9db"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a811b18e4f773c808cf5e50891882d9db">readPtr</a> (uintptr_t *value)=0</td></tr>
<tr class="memdesc:a811b18e4f773c808cf5e50891882d9db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read uintptr value.  <a href="#a811b18e4f773c808cf5e50891882d9db">More...</a><br /></td></tr>
<tr class="separator:a811b18e4f773c808cf5e50891882d9db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0246ac618ddee0373b1b819d804514b8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a0246ac618ddee0373b1b819d804514b8">readString</a> (uint32_t *length, char **value)=0</td></tr>
<tr class="memdesc:a0246ac618ddee0373b1b819d804514b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read string value.  <a href="#a0246ac618ddee0373b1b819d804514b8">More...</a><br /></td></tr>
<tr class="separator:a0246ac618ddee0373b1b819d804514b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71ff08fb3bc541d238bd4785d602690c"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a71ff08fb3bc541d238bd4785d602690c">readBinary</a> (uint32_t *length, uint8_t **value)=0</td></tr>
<tr class="memdesc:a71ff08fb3bc541d238bd4785d602690c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for read binary value.  <a href="#a71ff08fb3bc541d238bd4785d602690c">More...</a><br /></td></tr>
<tr class="separator:a71ff08fb3bc541d238bd4785d602690c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf815ca6e048ac520875bfb11b5a0f0d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#adf815ca6e048ac520875bfb11b5a0f0d">startReadList</a> (uint32_t *length)=0</td></tr>
<tr class="memdesc:adf815ca6e048ac520875bfb11b5a0f0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for start read list.  <a href="#adf815ca6e048ac520875bfb11b5a0f0d">More...</a><br /></td></tr>
<tr class="separator:adf815ca6e048ac520875bfb11b5a0f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a086b4f4e4624fd3df5df560cfab0355a"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a086b4f4e4624fd3df5df560cfab0355a">startReadUnion</a> (int32_t *discriminator)=0</td></tr>
<tr class="memdesc:a086b4f4e4624fd3df5df560cfab0355a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Prototype for start read union.  <a href="#a086b4f4e4624fd3df5df560cfab0355a">More...</a><br /></td></tr>
<tr class="separator:a086b4f4e4624fd3df5df560cfab0355a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8756f406d613fda6375b4137c3560354"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a8756f406d613fda6375b4137c3560354">readNullFlag</a> (bool *isNull)=0</td></tr>
<tr class="memdesc:a8756f406d613fda6375b4137c3560354"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads a flag indicating whether the next value is null.  <a href="#a8756f406d613fda6375b4137c3560354">More...</a><br /></td></tr>
<tr class="separator:a8756f406d613fda6375b4137c3560354"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f7eedc7d95818b93c8ac1d2948015de"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#a3f7eedc7d95818b93c8ac1d2948015de">readCallback</a> (arrayOfFunPtr callbacks, uint8_t callbacksCount, funPtr *callback)=0</td></tr>
<tr class="memdesc:a3f7eedc7d95818b93c8ac1d2948015de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an callback function id and return address of callback function.  <a href="#a3f7eedc7d95818b93c8ac1d2948015de">More...</a><br /></td></tr>
<tr class="separator:a3f7eedc7d95818b93c8ac1d2948015de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd44f7095097d6d702c133a0973457ca"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classerpc_1_1_codec.html#abd44f7095097d6d702c133a0973457ca">readCallback</a> (funPtr callbacks1, funPtr *callback2)=0</td></tr>
<tr class="memdesc:abd44f7095097d6d702c133a0973457ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read an callback function id and return address of callback function.  <a href="#abd44f7095097d6d702c133a0973457ca">More...</a><br /></td></tr>
<tr class="separator:abd44f7095097d6d702c133a0973457ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract serialization encoder/decoder interface. </p>
<p>Codecs write to or read from a <a class="el" href="classerpc_1_1_message_buffer.html" title="Represents a memory buffer containing a message. ">MessageBuffer</a>. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a39f0596a2957fb80bf3b5de6a4420f26"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">erpc::Codec::Codec </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>This function initializes object attributes. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a1ffdc810b2381805a0ab4e92201f72d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a>* erpc::Codec::getBuffer </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return message buffer used for read and write data. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to used message buffer. </dd></dl>

</div>
</div>
<a class="anchor" id="ace7d311abca68729346074d603879c9f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::setBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> &amp;&#160;</td>
          <td class="paramname"><em>buf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for set message buffer used for read and write data. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buf</td><td>Message buffer to set. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ade36a3e253eb62fb6533aef091625047"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startWriteMessage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="erpc__codec_8h.html#a7116f64fb1351d72417155cfed485478">message_type_t</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>service</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>sequence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write header of message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of message. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">service</td><td>Which interface is requested. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>Which function need be called. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sequence</td><td>Send sequence number to be sure that received message is reply for current request. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#ac470f37a771427cbfac97ab0283e9181">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="aca48e28afe7669b796418e1d79441a2b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write boolean value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Boolean typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aa5c809aed676e5b6a372991198c56c71">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="aadb46838695ad8c58c98a50da1ac871a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">int8_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write int8_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int8_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a3341bb468ab0adf3de1c3bf5401e4028">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a93536b98afea4429adfd596dc9bc2857"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">int16_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write int16_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int16_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aea0a589580c22e50c1df833cb11ae0a0">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a854c6fa62169cecf2c65f5cec259abdd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write int32_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int32_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a1b7bd9c40066c887ff77c4737d478525">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a1d4eb36338bbee7f22b59a6f37893466"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">int64_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write int64_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int64_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a0aa696437c2b168f153117a154a4e0a7">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ac88c0192a348091445a5cf03f075899f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write uint8_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint8_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a06407f2256fb0fa77e5404f279be423f">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a8532463feddadd334b38ea672d05aabc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write uint16_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint16_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#ade10e176496f6e8573f5c9ba91ac0655">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a0d6113a04dabb244f7f3008139a67739"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write uint32_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint32_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#ad5275291303ef67ff13151c97b4c324b">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a2ede46229a70bdff990ec744bbe5cc04"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">uint64_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write uint64_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint64_t typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a3d345b54e136cbb4839199182e5270b1">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ab0385422a6301c71bc3eed2de97a6f60"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write float value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>float typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a8c666e7bc3ae15ba6b3e8f93438d95de">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a1be8433cb66813f1a20ec3897f11319b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::write </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write double value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>double typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a0106776fe3730d8be0f565106f73b521">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ae9a6c5f99e5099c7bb96c293a156c80f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writePtr </td>
          <td>(</td>
          <td class="paramtype">uintptr_t&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write uintptr value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uintptr typed value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a502e1325f3051079c7e19dda25e7dd65">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a1285f577d96c982df48abf37c177bedd"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writeString </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write string value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>of string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>string value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a7bb982495470fdc4da1eab2883371a18">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ab1a66a201128941dc332e17d2490c2f8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writeBinary </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for write binary value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>of binary. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Binary value to write. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a6456b4d7a1e7944f60d6baf1d33b2281">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="aa2b752ae654eecf49a388dca8d341f7d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startWriteList </td>
          <td>(</td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for start write list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of list. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a7866b1ea6e2b89a373eddd3939d9e6f3">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a87fdbe883363642751bae1d6d53520c8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startWriteUnion </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>discriminator</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for start write union. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">discriminator</td><td>Discriminator of union. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a75fc57134ce77a3949c1470b1243f871">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a41efd3899943f2168f7f58be03045679"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writeNullFlag </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>isNull</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes a flag indicating whether the next value is null. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">isNull</td><td>Null flag to send. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a45a74c033c173b85096a8cd641841560">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a16711856846fa8bf4b8b70e69249b98e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writeCallback </td>
          <td>(</td>
          <td class="paramtype">arrayOfFunPtr&#160;</td>
          <td class="paramname"><em>callbacks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>callbacksCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">funPtr&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes an order ID of callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">callbacks</td><td>Pointer to array of callbacks. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callbacksCount</td><td>Size of array of callbacks. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callback</td><td>Callback which ID should be serialized. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a45de8c72bcbb8611db98f83480104128">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ac8a168512fd2fb26797d49c3b41732a5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::writeCallback </td>
          <td>(</td>
          <td class="paramtype">funPtr&#160;</td>
          <td class="paramname"><em>callback1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">funPtr&#160;</td>
          <td class="paramname"><em>callback2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes an order ID of callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">callback1</td><td>Pointer to existing callback. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">callback2</td><td>Callback which ID should be serialized. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a3cf8a93617b7f712b19f6fa2a017c92f">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a45c92dc20df6e8ac78336426a076aff3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startReadMessage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="erpc__codec_8h.html#a7116f64fb1351d72417155cfed485478">message_type_t</a> *&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>service</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>request</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>sequence</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read header of message. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>Type of message. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">service</td><td>Which interface was used. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">request</td><td>Which function was called. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">sequence</td><td>Returned sequence number to be sure that received message is reply for current request. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a8edbc2ad42055a8c17083b9f2da3248e">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a7ecc6e3071f968c5d6a981d0547bfea9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read boolean value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Boolean typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a8bcc22f1815f0881b555bd8ac4a2d3b4">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a53c2bbb94896adba25d746d689986e70"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">int8_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read int8_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int8_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aba0745d52ce24779782f7bcedf4cf10e">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ae9e51e6a7cdb6fa3a68d860f19c7aca8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">int16_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read int16_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int16_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a435757c15967421e4209e3456faec36a">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a05017d23491278b0f59f560c57ab3d5d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read int32_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int32_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a8395a4908bc9f077a27e7babe2727cac">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ace6d2cf649c8f0b4345049b9987bdf13"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">int64_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read int64_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>int64_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a3aab31b4ea7bc6ceac592ce52e31b639">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a82cbd89666ca2d5e4b0eb3d0930fb120"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read uint8_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint8_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#ad1898d71bacc79adbef49f61e72f5542">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a7c1ed0465cb0f4d0f71a1ba6d7a942cf"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">uint16_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read uint16_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint16_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a4f988dbb016a98d99b681940fe4f886d">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ae153d322183c836574bfbd80523aecd8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read uint32_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint32_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#af35ade38165441954e85b4ebefaeab54">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ad7bd847bd77804aaa87ccf5ecae45637"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">uint64_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read uint64_t value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uint64_t typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#af988e51e450dda9e8649101ed472401a">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ac0d1bcba8691cf04822d9c7f73ce88a6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read float value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>float typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a99dffc27fecbd06ce2367f22711c8a02">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="ac619e952418dfda6966099aea01eb5f2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::read </td>
          <td>(</td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read double value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>double typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a418767f583e150e4e23cf8b25c3e377e">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a811b18e4f773c808cf5e50891882d9db"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readPtr </td>
          <td>(</td>
          <td class="paramtype">uintptr_t *&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read uintptr value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>uintptr typed value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a3bb94b2429f248ad6e3a357d25318404">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a0246ac618ddee0373b1b819d804514b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readString </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read string value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>of string. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>String value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aefe3fd8293738dd1f863c786e069e2d9">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a71ff08fb3bc541d238bd4785d602690c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readBinary </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t **&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for read binary value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>of binary. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>Binary value to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aef4a3aaa7bbd74c412bdb42c9468e777">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="adf815ca6e048ac520875bfb11b5a0f0d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startReadList </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for start read list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">length</td><td>Length of list. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a286e2bda535cc3d1ef8931c9eb493a1d">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a086b4f4e4624fd3df5df560cfab0355a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::startReadUnion </td>
          <td>(</td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>discriminator</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Prototype for start read union. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">discriminator</td><td>Discriminator of union. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#ae007d4c166a39f39111896e6fe01cb32">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a8756f406d613fda6375b4137c3560354"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readNullFlag </td>
          <td>(</td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>isNull</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads a flag indicating whether the next value is null. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">isNull</td><td>Null flag to read. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a000e06e1dc72a3439c74792d40d61f01">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="a3f7eedc7d95818b93c8ac1d2948015de"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readCallback </td>
          <td>(</td>
          <td class="paramtype">arrayOfFunPtr&#160;</td>
          <td class="paramname"><em>callbacks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>callbacksCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">funPtr *&#160;</td>
          <td class="paramname"><em>callback</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read an callback function id and return address of callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">callbacks</td><td>Pointer to array of callbacks. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">callbacksCount</td><td>Size of array of callbacks. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">callback</td><td>Callback which is deserialized. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#aef6e72c11eeca1cff3ec7cca6bcfa400">erpc::BasicCodec</a>.</p>

</div>
</div>
<a class="anchor" id="abd44f7095097d6d702c133a0973457ca"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void erpc::Codec::readCallback </td>
          <td>(</td>
          <td class="paramtype">funPtr&#160;</td>
          <td class="paramname"><em>callbacks1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">funPtr *&#160;</td>
          <td class="paramname"><em>callback2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Read an callback function id and return address of callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">callback1</td><td>Pointer to existing callback. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">callback2</td><td>Callback which is deserialized. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="classerpc_1_1_basic_codec.html#a39527995a0bd9e460cdf1dcd4bbb06e7">erpc::BasicCodec</a>.</p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a003c4d8420239b9a347b46554ebeb903"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpc_1_1_message_buffer.html">MessageBuffer</a> erpc::Codec::m_buffer</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Message buffer object </p>

</div>
</div>
<a class="anchor" id="ad9fe5af5136be642e05a9e7335af8ff7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classerpc_1_1_message_buffer_1_1_cursor.html">MessageBuffer::Cursor</a> erpc::Codec::m_cursor</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Copy data to message buffers. </p>

</div>
</div>
<a class="anchor" id="aa1f493b99584ed6e75a0e4ea06a1d14a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__infra.html#ga5f8872e58f09a16d192bf664f9898651">erpc_status_t</a> erpc::Codec::m_status</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Status of serialized data. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="erpc__codec_8h_source.html">erpc_codec.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.5-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul class="foot">
    <li class="footer">Copyright 2016-2020 NXP Semiconductors. All rights reserved.
    </li>
  </ul>
</div>
</body>
</html>
